package com.vhall.component.entity.data.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @author shimingming
 * @since 2023/3/6 16:11
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class BasicStatisticsInfoVO implements Serializable {

    /**
     * 人均观看时长(分钟)
     */
    @JsonProperty("avg_watch_time")
    private BaseDataVO avgWatchTime = null;

    /**
     * 观看次数(次)
     */
    @JsonProperty("live_pv")
    private BaseDataVO livePv = null;

    /**
     * 观看人数(人)
     */
    @JsonProperty("live_uv")
    private BaseDataVO liveUv = null;

    /**
     * 最高并发(人)
     */
    @JsonProperty("max_concurrent")
    private BaseDataVO maxConcurrent = null;

    /**
     * 观看时长(分钟)
     */
    @JsonProperty("watch_time")
    private BaseDataVO watchTime = null;

    /**
     * 人均观看次数(次)
     */
    @JsonProperty("avg_live_pv")
    private BaseDataVO avgLivePv = null;

    /**
     * 消耗流量(MB)
     */
    @JsonProperty("live_flow")
    private BaseDataVO liveFlow = null;

    /**
     * 回放存储空间(MB)
     */
    @JsonProperty("record_storage")
    private BaseDataVO recordStorage = null;

    @JsonProperty("living_duration")
    private BaseDataVO livingDuration = null;

    @JsonProperty("video_time")
    private BaseDataVO videoTime = null;

    /**
     * 观看总PV(H5+APP) (次)
     */
    @JsonProperty("watch_pv_h5_app")
    private BaseDataVO watchPvH5AddApp = null;

    /**
     * APP端观看PV (次)
     */
    @JsonProperty("watch_pv_app")
    private BaseDataVO watchPvApp = null;

    /**
     * H5端观看PV (次)
     */
    @JsonProperty("watch_pv_h5")
    private BaseDataVO watchPvH5 = null;

    /**
     * 微信端观看PV (次)
     */
    @JsonProperty("watch_pv_wechat")
    private BaseDataVO watchPvWechat = null;

    /**
     * 聊天数量
     */
    @JsonProperty("number_of_chats")
    private BaseDataVO numberOfChats = null;

    /**
     * 完播率
     */
    @JsonProperty("completion_rate")
    private BaseDataVO completionRate = null;
//
//    /**
//     * 互动时长（分钟）
//     */
//    @JsonProperty("interaction_duration")
//    private BaseDataVO interactionDuration = null;

    /**
     * 问卷（份）
     */
    @JsonProperty("questionnaire")
    private BaseDataVO questionnaire = null;

    /**
     * 答卷（份）
     */
    @JsonProperty("answer_sheet")
    private BaseDataVO answerSheet = null;

    /**
     * app 参与人数
     */
    @JsonProperty("app_participants")
    private BaseDataVO appParticipants = null;

    /**
     * h5 参与人数
     */
    @JsonProperty("h5_participants")
    private BaseDataVO h5Participants = null;

    /**
     * 转发量
     */
    @JsonProperty("forward_num")
    private BaseDataVO forwardNum = null;


    /**
     * 点赞量
     */
    @JsonProperty("like_num")
    private BaseDataVO likeNum = null;

    /**
     * 预约数量
     */
    @JsonProperty("number_of_reservation")
    private BaseDataVO numberOfReservation = null;

    /**
     * 预告页访问人数(直播预告在直播前被访问的 uv 数量)
     */
    @JsonProperty("uv_preview_page")
    private BaseDataVO uvPreviewPage = null;
    /**
     * 直播与视频观看人数-外部渠道数据
     */
    @JsonProperty("external_channel_view_count")
    private BaseDataVO externalChannelViewCount = null;
}
